Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні основи криптології
Група:
ІБ – 42

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НУ ”Львівська політехніка” Звіт про виконання лабораторної роботи №2 з курсу: ”Алгоритмічні основи криптології” на тему: ”Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь ” Львів-2007 Теоретичні відомості Методи чисельного розв‘язування систем лінійних рівнянь поділяються на дві групи: 1) „точні” (прямі) методи, які дозволяють одержати розв‘язок, якщо він існує, як скінченну кількість арифметичних операцій (наприклад: метод Крамера, метод Жордана-Гауса та ін.); 2) наближені (ітераційні) методи, які дозволяють одержати розв‘язки системи лінійних рівнянь лише з заданою точністю з припущенням, що обчислення проводиться без округлень. Точний розв‘язок в даному випадку можна одержати я к результат нескінченно збіжного процесу. До таких методів відносять метод простої ітерації, метод Зейделя та ін. „Точні” методи використовуються при розв‘язуванні на ЕОМ систем невисокого порядку (n<103 де n - число лінійних алгебраїчних рівнянь системи). Наближені методи використовуються для систем високого порядку (n=103ч106). Переваги наближених методів (метод простих ітерацій) над точними (метод Гауса) є такими: 1. Час обчислень пропорційний n2 на ітерацію, тоді як для методу виключення час обчислень пропорційний n3. Якщо для розв‘язку потрібно менше ніж n ітерацій, то затрати машинного часу будуть менші. 2. Як правило, похибки округлення при ітераційному методі впливають на остаточні результати значно менше, ніж при розв‘язуванні методом Гауса, оскільки при його використанні похибки не нагромаджуються. 3. Метод ітерацій стає особливо зручним при розв‘язку систем, переважна кількість коефіцієнтів яких дорівнює 0. Недоліком методу ітерацій є те, що рішення не завжди збігаються. Метод простої ітерації. Нехай задана система лінійних алгебраїчних рівнянь: , (1) де , , . Будемо вважати, що діагональні коефіцієнти матриці А , . Розв‘яжемо перше рівняння системи (1) відносно , друге - відносно  і т.д. Тоді отримаємо еквівалентну систему: , (2) де  при ;  при , . Введемо позначення: ,. Тоді систему (2) можна записати: . (3) Задамося вектором початкового наближення , де - довільні числа. Тоді послідовно знаходимо перше наближення: , друге наближення: , і т.д. довільне (K+1) наближення обчислюється за формулою: , , (4) або в розгорнутому вигляді: , . Ітераційний процес закінчують тоді, коли: , , де Е - гранична абсолютна похибка. Методом простої ітерації можна визначити розв‘язок системи рівнянь лише у випадку, коли цей метод є збіжним. Доведено, що якщо елементи матриці  задовольняють одну з умов: , , (5) , , (6) то процес ітерації збігається до точного розв‘язку при будь-якому векторі нульового наближення. Як правило, за вектор нульового наближення приймають стовпчик вільних членів . Вихідна система лінійних алгебраїчних рівнянь A= 24,21+s 2,42 3,85 2,31 31,49 1,52 3,49 4,84 28,72+s 30,24 40,95-r 42,81 де s = 0.2*k , r = 0.2*p, k=6, p=0. Блок-схема алгоритму    /*Текст програми розв’язку системи лінійних алгебраїчних рівнянь методом простої ітерації */ #include <stdio.h> #include <math.h> const int m=3; void main(void) /* оголошення змінних */ { typedef double matrix[3][3]; typedef double vector[3]; matrix a, alpha; vector b, beta, x, x0; int i, j, k; int rez=0; double E; /* вводимо значення матриці коефіцієнтів системи і вектора вільних членів */ for(i=0;i<m;i++) { for(j=0;j<m;j++) { printf("a[%d,%d]?:", i+1, j+1); scanf("%lf", &a[i][j]); } printf("b[%d]?:", i+1); scanf("%lf", &b[i]); } /* присвоєння значень ά і β*/ for(i=0;i<m;i++) { for(j=0;j<m;j++) { i...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини